/**
 *  system.h
 *  AwkwardCubed - Sys
 *
 *  Date: 20/08/2013
 *
 *  Language: C++
 *
 *  @author Carl mcCaffrey
 *
 */
#ifndef SYSTEM_H
#define SYSTEM_H

#include <string>

#include "sys/timer.h"
#include "renderer/renderer.h"

typedef struct _SystemInfo{
	std::string os;
	std::string cpu;
	int totalRAM;
	int availRAM;
	int usedRAM;
	int usedRAMPercent;
} SystemInfo;

class System
{
	private:
		Timer* timer;
		Renderer* renderer;

	public:
		bool Init(HINSTANCE* hInstance, Timer* gameTimer);
		void Shutdown(void);

		void Update(void);

		void CalculateFrameStats(void);
		SystemInfo GetSystemInfo(void);	
};

#endif // SYSTEM_H